A data network comprises network nodes which can communicate with each other by exchanging messages. Such a data network can comprise a plurality of nodes which are connected with each other via wired or wireless links. Messages from a source node to a sink node are routed through intermediate nodes of the network by using a routing protocol. A many-to-one communication is a common requirement in some network applications, in particular in sensor network applications in which sensor nodes exchange information data with a sink node only and not between themselves. The sensor data collected by the sensor nodes are sent to the sink node which can in, some cases, be a base station with access to a network such as the internet. The opposite direction from the sink node to the sensor node is used to send control information from the sink node to the sensor nodes. Messages sent by the sensor nodes to the sink node are forwarded by means of a forward routing protocol such as the collection tree protocol CTP or by means of a gradient routing protocol as used, for instance, in ad hoc networks.
For the construction of a reverse path to route the messages originating from the sink node to the sensor nodes, conventional routing protocols are known from the prior art. A transparent bridging routing method is described in Andrew S. Tanenbaum, Computer Networks, Prentice Hall, New Jersey, 1996. A Transparent bridge learns the location of a work station by analyzing a source address in incoming messages. For example, if a bridge receives a message sent by a station A on port i it can assume that station A can be reached via port i. Consequently, this bridge or network node will forward all messages destined to a station A via that port i. For the forwarding of messages the respective intermediate node of the network can maintain a forwarding table. Every time an intermediate node of the network forwards a message to the sink node it stores the address of the source node together with the address of the sending node in its forwarding table. The intermediate node of the network then uses the information stored in this forwarding table to route messages sent by the sink node back to their destinations, source nodes or sensor nodes. Although this conventional routing method is quite simple and can be implemented fairly easily on a sensor device, it does not scale with the number of nodes within a data network because the size of the forwarding table has to grow with the number of source nodes that an intermediate node has to learn. This poses a problem in particular for intermediate nodes that are located close to the sink node and have to store a very large number of source node addresses in their respective forwarding tables. Therefore, this conventional transparent bridging method requires a memory with a large size for each intermediate node within the data network.
Another known approach that can be used for the construction of a reverse path from the sink node to the source nodes is the so-called source routing (or SR) used for example by the ZigBee alliance in its 2008 ZigBee specification, Jan. 17, 2008, ZigBeedocument 053474r17. In the source routing method, no forwarding table is employed. Instead, every time an intermediate node of the network forwards a message to the sink node, it appends its node address into the source route SR data field of the respective message. When the message arrives at the sink node, the source route SR field contains the addresses of all intermediate nodes that are located on the route from the source node to the sink node. The sink node can then use this route information to send a message back to the source node. Since there is no forwarding table to be maintained by the nodes of the network, this method can be applied in networks which have a very large number of nodes. However, this conventional source route routing method has the drawback that a per-message overhead is introduced by the source routing field which is increased with every hop of the message from one node to the next node. A message overhead is present for every forwarded message and limits the number of hops a message is allowed to traverse before reaching the destination node. This limitation is an issue, in particular for wireless sensor networks because the employed messages therein normally have a very small maximum message length.